package com.leetcode.LC;

import java.util.ArrayList;

public class LC783 {
    ArrayList<Integer> list = new ArrayList<>();

    public int minDiffInBST(TreeNode root) {
        qinaxuDigui(root);

        int min = Integer.MAX_VALUE;
        for (int i = 0; i < list.size() - 1; i++) {
            min=Math.min(min, Math.abs(list.get(i) - list.get(i + 1)));
        }
        return min;
    }

    // 用递归的方法进行先序遍历
    public void qinaxuDigui(TreeNode treeNode) {
        list.add(treeNode.val);
        if (treeNode.left != null) {
            qinaxuDigui(treeNode.left);
        }
        if (treeNode.right != null) {
            qinaxuDigui(treeNode.right);
        }
    }
}
